There are recent developments in a robot that has at least one leg link and repeats a movement of swinging out the leg link in the direction to move with the leg link swung out and grounded as a supporting leg.
The above robot is generally known to be able to perform a stabilized walk by controlling the movement with attention to a ZMP (Zero Moment Point). The ZMP represents a point on a floor where the sum of moments by the external forces (including inertia) acting on the robot is zero. If the ZMP is coincident with the point of application of a floor reaction, even if only one leg link is grounded, the moment to bring down the robot will not act. The point of application of the floor reaction is located inside the flat foot of the supporting leg in a state that only one leg link is grounded. Accordingly, to make the robot perform a stabilized walk requires a control such that the ZMP is maintained inside the flat foot of the supporting leg.
If a robot has a pair of leg links, for example, the robot moves by using one leg link as the supporting leg and swinging out the other leg link forward as a loose leg. If the ZMP is located inside the flat foot of the supporting leg while the one leg link is grounded, the robot will not tumble. While the leg link having been the loose leg is grounded and both the leg links are grounded, if the ZMP moves from the flat foot of the leg link having been the supporting leg thus transfer into the flat foot of the newly grounded leg link, the robot will not tumble and will be able to swing out forward the leg link having been the supporting leg till then. When the robot swings out forward the leg link having been the supporting leg till then, if the ZMP is located inside the flat foot of the new supporting leg, the robot will not tumble. Thus, the robot will be able to continue a walk without tumbling, by repeating the movement of swing out one of the leg links and grounding it mutually between a pair of the leg links.
In general, a sequential movement mode wherein a robot is able to perform a stabilized walk is calculated in advance before the robot practically performs the movement. Hereunder, the data expressing the sequential movement mode of the robot is referred to as gait data. By storing the gait data calculated in order that the robot can stably walk and by sequentially performing the movement mode that the stored gait data expresses, the robot is able to perform a stabilized walk.
Unexpected disturbances can act on the robot in some cases. In some cases unexpected uneven road surfaces can cause unexpected disturbances to the robot, in other cases disturbances that push or pull the robot from the outside. If the movement of the robot slips out of the gait data because of a structural deflection of the robot, an articular looseness of the robot, a response delay of the robot, and so forth, it will be the same such that unexpected disturbances act on the robot. When unexpected disturbances act on the robot, it makes the robot lose its balance.
In order to continue the walk even when unexpected disturbances act on, it is effective for the robot to update the stored gait data in real time. The technique to generate the gait data of the robot in real time is disclosed, for example, in the Japanese Laid-Open Patent Publication No. 2004-114243.